标签:KV Cache
-
KV Cache 原理与复杂度推导:一次"以空间换时间"的完整算账
逐 token 解码时重复计算历史 K/V 是主要浪费;推导有无 cache 的计算量差异,并算出 KV cache 的显存占用公式。
-
MLA 多头潜在注意力拆解:DeepSeek 压缩 KV cache 的做法
GQA 共享 K/V 头还留着"每头一份缓存"的底账,MLA 干脆把每层的 K/V 压成一个 d_c=512 维的潜向量,推理时缓存只存它。这篇拆解 DeepSeek-V2/V3 的投影设计、低秩吸收的等效改写,以及为什么要给 RoPE 单独留一条位置通道。
-
GQA 与 MQA:共享 KV 的性价比
自回归解码的显存大头是 KV cache,而 Q 头数远多于内容需要。MQA 让一个 KV 头服务所有 Q 头,GQA 取中间值——这篇推导 cache 字节的账本,解释为什么 decode 阶段 KV 头数几乎只影响吞吐不影响质量,以及 Llama-2-70B 为什么选 8 个 KV 头。